using System;

/// <summary>
/// Summary description for UserProfile
/// </summary>
/// 
namespace CE.User
{
    public class Profile
    {
        public Profile()
        {
            //
            // TODO: Add constructor logic here
            //
            ClearFields();
        }
        private Int64 _profileid;
        private string _salutation;
        private string _firstname;
        private string _surname;

        private DateTime _dob;
        private char _gender;
        private int _maritalstatus;
        private int _occupationtype;
        private int _occupation;

        private string _idtype;
        private string _idno;
        private string _highedu;
        private string _nationality;
        private float _montlyincome;
        private float _otherincome;
        private bool _accepttc;

        private string _jobnature;
        private Int16 _yeardrivesg;

        private string _othercontact1; //not use
        private string _othercontact2; //not use

        //common field name
        private string _status;
        private Int64 _refceuserid;
        private DateTime _createddate;
        private DateTime _modifieddate;

        //extra field for future extend
        private string _info1;
        private string _info2;
        private string _info3;
        private string _info4;
        private string _info5;
        private string _info6;
        private string _info7;
        private string _info8;
        private string _info9;
        private string _info10;
        private string _info11;
        private string _info12;
        private string _info13;
        private string _info14;
        private string _info15;
        private string _info16;
        private string _info17;
        private string _info18;
        private string _info19;
        private string _info20;

        public Int64 ProfileId
        {
            get { return _profileid; }
            set { _profileid = value; }
        }

        public string Salutation
        {
            get { return _salutation; }
            set { _salutation = value; }
        }

        public string FirstName
        {
            get { return _firstname; }
            set { _firstname = value; }
        }

        public string SurName
        {
            get { return _surname; }
            set { _surname = value; }
        }

        public DateTime DOB
        {
            get { return _dob; }
            set { _dob = value; }
        }

        public char Gender
        {
            get { return _gender; }
            set { _gender = value; }
        }

        public int MaritalStatus
        {
            get { return _maritalstatus; }
            set { _maritalstatus = value; }
        }

        public int OccupationType
        {
            get { return _occupationtype; }
            set { _occupationtype = value; }
        }

        public int Occupation
        {
            get { return _occupation; }
            set { _occupation = value; }
        }

        public string IDType
        {
            get { return _idtype; }
            set { _idtype = value; }
        }

        public string IDNo
        {
            get { return _idno; }
            set { _idno = value; }
        }

        public string HighEducation
        {
            get { return _highedu; }
            set { _highedu = value; }
        }

        public string Nationality
        {
            get { return _nationality; }
            set { _nationality = value; }
        }

        public float MontlyIncome
        {
            get { return _montlyincome; }
            set { _montlyincome = value; }
        }

        public float OtherIncome
        {
            get { return _otherincome; }
            set { _otherincome = value; }
        }

        public bool IsAcceptTC
        {
            get { return _accepttc; }
            set { _accepttc = value; }
        }

        public string JobNature
        {
            get { return _jobnature; }
            set { _jobnature = value; }
        }

        public Int16 YearDriveSg
        {
            get { return _yeardrivesg; }
            set { _yeardrivesg = value; }
        }

        public string Status
        {
            get { return _status; }
            set { _status = value; }
        }

        public Int64 RefCEUserId
        {
            get { return _refceuserid; }
            set { _refceuserid = value; }
        }

        public DateTime CreatedDate
        {
            get { return _createddate; }
            set { _createddate = value; }
        }

        public DateTime ModifiedDate
        {
            get { return _modifieddate; }
            set { _modifieddate = value; }
        }

        public string Info1
        {
            get { return _info1; }
            set { _info1 = value; }
        }

        public string Info2
        {
            get { return _info2; }
            set { _info2 = value; }
        }

        public string Info3
        {
            get { return _info3; }
            set { _info3 = value; }
        }

        public string Info4
        {
            get { return _info4; }
            set { _info4 = value; }
        }

        public string Info5
        {
            get { return _info5; }
            set { _info5 = value; }
        }

        public string Info6
        {
            get { return _info6; }
            set { _info6 = value; }
        }

        public string Info7
        {
            get { return _info7; }
            set { _info7 = value; }
        }

        public string Info8
        {
            get { return _info8; }
            set { _info8 = value; }
        }

        public string Info9
        {
            get { return _info9; }
            set { _info9 = value; }
        }

        public string Info10
        {
            get { return _info10; }
            set { _info10 = value; }
        }

        public string Info11
        {
            get { return _info11; }
            set { _info11 = value; }
        }

        public string Info12
        {
            get { return _info12; }
            set { _info12 = value; }
        }


        public string Info13
        {
            get { return _info13; }
            set { _info13 = value; }
        }

        public string Info14
        {
            get { return _info14; }
            set { _info14 = value; }
        }

        public string Info15
        {
            get { return _info15; }
            set { _info15 = value; }
        }

        public string Info16
        {
            get { return _info16; }
            set { _info16 = value; }
        }

        public string Info17
        {
            get { return _info17; }
            set { _info17 = value; }
        }

        public string Info18
        {
            get { return _info18; }
            set { _info18 = value; }
        }

        public string Info19
        {
            get { return _info19; }
            set { _info19 = value; }
        }

        public string Info20
        {
            get { return _info20; }
            set { _info20 = value; }
        }

        public void ClearFields()
        {
            _profileid = 0;
            _salutation = "";
            _firstname = "";
            _surname = "";

            _dob = new DateTime(1900,1,1);
            _gender = '-';
            _maritalstatus = -1;
            _occupationtype = -1;
            _occupation = -1;
            _highedu = "";

            _idtype = "";
            _idno = "";
            _nationality = "";
            _montlyincome = 0.0f;
            _otherincome = 0.0f;
            _accepttc = false;

            _jobnature = "";
            _yeardrivesg = 0;

            //common field name
            _status = "";
            _refceuserid = 0;
            _createddate = new DateTime(1900, 1, 1);
            _modifieddate = new DateTime(1900, 1, 1);

            _othercontact1 = ""; //not use
            _othercontact2 = ""; //not use

            //extra field for future extend
            _info1 = "";
            _info2 = "";
            _info3 = "";
            _info4 = "";
            _info5 = "";
            _info6 = "";
            _info7 = "";
            _info8 = "";
            _info9 = "";
            _info10 = "";
            _info11 = "";
            _info12 = "";
            _info13 = "";
            _info14 = "";
            _info15 = "";
            _info16 = "";
            _info17 = "";
            _info18 = "";
            _info19 = "";
            _info20 = "";
        }

    }
}
